docker-compose up --build в дирректории с docker-compose.yml

Telegram: dr_sick0

1. Введение

Данный документ предоставляет обзор архитектуры проекта и его основных компонентов, целей и задач, а также описывает реализованные функции API для получения прогнозов погоды. Проект разработан с использованием технологии ASP.NET для создания веб-сервиса, который предоставляет доступ к централизованной базе данных для получения информации о погоде.

2. Архитектура проекта

Наше приложение построено на принципах многослойной архитектуры, где каждый слой имеет четко определенную ответственность и взаимодействует с другими слоями через строго определенные интерфейсы. В нашей архитектуре выделяются четыре основных компонента: контроллеры (Controllers), Data Access Layer (DAL), Business Logic Layer (BLL) и база данных PostgreSQL.

Контроллеры (Controllers): Контроллеры являются частью пользовательского интерфейса и отвечают за обработку входящих HTTP-запросов и управление потоком выполнения приложения. Они принимают запросы от клиентских приложений, вызывают соответствующие методы бизнес-логики и возвращают результаты клиентам. Контроллеры служат связующим звеном между клиентскими приложениями и бизнес-логикой.

Data Access Layer (DAL): Этот слой отвечает за взаимодействие с базой данных PostgreSQL. Он предоставляет высокоуровневый интерфейс для выполнения операций чтения и записи данных в базу данных. DAL скрывает детали работы с базой данных от остальных слоев приложения и предоставляет удобные методы доступа к данным.

Business Logic Layer (BLL): Этот слой содержит бизнес-логику приложения. Он выполняет обработку данных, принимает решения и координирует взаимодействие между различными компонентами приложения. BLL не зависит от конкретной реализации базы данных и использует DAL для доступа к данным.

База данных PostgreSQL: PostgreSQL используется в качестве хранилища данных для нашего приложения. Он обеспечивает надежное хранение и эффективный доступ к данным. PostgreSQL поддерживает расширенные возможности по работе с транзакциями, обеспечивает высокую производительность и масштабируемость.

3. Цели и задачи проекта

Основной целью проекта является предоставление клиентским приложениям (веб-сайтам, мобильным приложениям и т. д.) доступа к актуальным данным о погоде через стандартизированный интерфейс.

Основные задачи проекта включают в себя:

Разработка API для запросов прогнозов погоды.
Интеграция с централизованной базой данных для получения информации о погоде.
Обеспечение безопасности и аутентификации запросов к API.
Обработка ошибок и предоставление информативных сообщений об ошибках клиентам.

4. Реализованные функции API

Authentication:
• Регистрация аккаунта Account:
• Просмотр информации об аккаунте
• Поиск/изменение/удаление аккаунта Region:
• Просмотр информации о регионе
• Добавление/удаление/изменение региона
• Добавление/удаление/изменение типа региона Region type:
• Просмотр информации о типе региона
• Добавление/удаление/изменение типа региона Weather:
• Просмотр информации о погоде
• Добавление/изменение/удаление погоды
WeatherForecast:
• Просмотр информации о прогнозе погоды
• Добавление/изменение/удаление погодного явления


